

package com.loong.loong.hik.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 报警输出
 *
 * @author jinyiang
 * @date 2023-03-29 14:01:35
 */
@Data
@TableName("hik_alarm")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "报警输出")
public class Alarm extends Model<Alarm> {

    private static final long serialVersionUID = 1L;

    /**
     * 告警id
     */
	@TableId(value="alarm_id",type = IdType.ASSIGN_ID)

	@ExcelProperty("设备编号")
    @ApiModelProperty(value="设备编号")
    private Integer alarmId;

    /**
     * 告警名称
     */
    @ApiModelProperty(value="告警名称")
	@ExcelProperty("告警名称")
    private String alarmName;

    /**
     * IP地址
     */
    @ApiModelProperty(value="IP地址")
	@ExcelProperty("IP地址")
    private String ipAddress;

    /**
     * 用户名
     */

	@ExcelProperty("用户名")
    @ApiModelProperty(value="用户名")
    private String username;

    /**
     * 密码
     */
	@ExcelProperty("密码")
    @ApiModelProperty(value="密码")
    private String password;

    /**
     * 端口号
     */
	@ExcelProperty("端口号")
    @ApiModelProperty(value="端口号")
    private Integer portNumber;

    /**
     * 编码方式
     */
	@ExcelProperty("编码方式")
    @ApiModelProperty(value="编码方式")
    private String encodingMethod;

    /**
     * 通信协议
     */
	@ExcelProperty("通信协议")
	@ApiModelProperty(value="通信协议")
    private String protocol;

    /**
     * 报警类型
     */
	@ExcelProperty("报警类型")
	@ApiModelProperty(value="报警类型")
    private String alarmType;

    /**
     * 报警数据
     */
	@ExcelProperty("报警数据")
    @ApiModelProperty(value="报警数据")
    private String alarmData;

    /**
     * 创建时间
     */
	@ExcelProperty("创建时间")
    @ApiModelProperty(value="创建时间")
	@TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
	@ExcelProperty("更新时间")
    @ApiModelProperty(value="更新时间")
	@TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 0正常 其余删除
     */


    @ExcelIgnore
	@ApiModelProperty(value="0正常 其余删除")
	@TableLogic
	@TableField(fill = FieldFill.INSERT)
    private String delFlag;

	@TableField(exist = false)
	@ExcelIgnore
	@ApiModelProperty(value="开始时间")
	private String startTime;

	@TableField(exist = false)
	@ExcelIgnore
	@ApiModelProperty(value="结束时间")
	private String endTime;

	/**
	 * 操作人
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@ExcelProperty("操作人")
	@ApiModelProperty(value="操作人")
	private String updateBy;
	/**
	 * 设备类型
	 */
	@ExcelProperty("设备类型")
	@ApiModelProperty(value="设备类型")
	private String deviceType;

	/**
	 * 设备编码
	 */
	@ExcelProperty("设备编码")
	@ApiModelProperty(value="设备编码")
	private String deviceCode;
	@TableField(exist = false )
	private String likeName;

}
